// 登陆按钮
let signBtn = document.getElementById("signBtn");
// 是否记住账户
let remName = document.getElementById("remName");
// 是否记住密码
let remPW = document.getElementById("remPW");
// 账户输入框中的内容
let lgNameInner =document.getElementById('lg_username');
// 密码输入框中的内容
let pwInner = document.getElementById('lg_password');
// 获得登陆的盒子
let loginBox = document.getElementById("loginBox");
// 获得用户信息的盒子
let userInfoBox = document.getElementsByClassName("userInfo")[0];
// 登陆成功时获得信息


window.userInfoG = false;
// 获取注销按钮
var downSignBtn = document.getElementById("downSign");
// 用var 是为了修改密码时可以注销
// 网页加载记住账户和密码的函数





// 记住账户密码和七天免登录起效的地方
window.onload = function (){
    if(window.localStorage.getItem("remName")){
        remName.checked = true;
        lgNameInner.value = window.localStorage.getItem("remName");
    }
    else{
        remName.checked = false;
        lgNameInner.value = "";
    }
    if(pwInner.value = window.localStorage.getItem("remPW")){
        remPW.checked = true;
        pwInner.value = window.localStorage.getItem("remPW");
    }
    else{
        remPW.checked = false;
        pwInner.value = "";
    }
    //七天免登录
    if(window.localStorage.getItem("remName")&&window.localStorage.getItem("remPW")){
        let nowTime = new Date().getTime();
        if(nowTime-window.localStorage.getItem("loginPeriod")<1000*60*60*24*7){
            signBtn.click();
        }
    }    
}

// 点击登陆按钮
signBtn.onclick = function(){
    // 获取输入框内容（账号和密码）
    let lgNameInner =document.getElementById('lg_username');
    let pwInner = document.getElementById('lg_password');
    // 账户的正则验证
    let reg1 = /\W{1,10}/;
    // 定义要交换数据的函数
    let changeData = function(){

        let data = new FormData();
        data.append("username",lgNameInner.value );
        data.append("password",pwInner.value );
        // 发送AJAX请求获得
        postForm(data,"login").then(
            function(value){
                 
                if(value.code == 200){
                    window.userInfoG = value;        
                    // 利用动态结点显示用户数据
                    putHtmlStr(value);
                }
                else if(value.code ==300){
                    alert("账户或者密码错误！");
                }
                else{
                    alert("后台tmd炸了！！！！");
                }
            },
            function(reason){
                alert("登陆请求发送失败，请检测网络!");
            }
        );
        
    }
    // 检测是否需要记住账户密码的函数
    let remember = function(){
        // 检测是否勾选
        if(remName.checked){
            window.localStorage.setItem("remName",lgNameInner.value);
        }
        else{
            window.localStorage.removeItem("remName");
        }
        // 检测是否勾选
        if(remPW.checked){
          window.localStorage.setItem("remPW",pwInner.value);
        }
        else{
            window.localStorage.removeItem("remPW");
        }
        //七天免登录的初始时间戳
        if(remName.checked&&remPW.checked){
            if(!window.localStorage.getItem("loginPeriod")){
                window.localStorage.setItem("loginPeriod",new Date().getTime());
            }
        }
    }
        
    // 定义登陆成功后放入的模板字符串
    let putHtmlStr = function(user){ 
        //传进来的user是后台的用户登陆后的响应数据
        //下面两行是显示用户的头像
    let userAvatar = document.getElementById("userImg");
    // 采用参数拼接方式
    userAvatar.setAttribute("src",queryURL + user.data.photo);

    // 这里是显示用户信息
    let li = document.querySelectorAll(".userInfo li");
    //用户名
     li[0].innerHTML = `${user.data.name}`
     li[0].style.fontSize = "25px";
    //用户ID
     li[1].innerHTML = `ID:${user.data.id}`
    //用户密码
     li[2].innerHTML = `密码:${user.data.password}`
     //用户电话
     li[3].innerHTML = `电话:${user.data.phone}`
    // 信息卡片出现
    userInfoBox.style.display = "flex";
   
    }

    // 正则验证后发送ajax
    if(reg1.test(lgNameInner)){
    //收集输入框数据并发送请求
    changeData();
    // 是否记住密码
    remember();

    
    }
    else{
        alert("账号只由英文，数字和下划线‘_’的10位以内字符组成");
    }

    
}


// 按回车实现登陆
lgNameInner.onkeydown = function(){
    let e = window.event;
    var keycode =e.which||e.keyCode;
    if(keycode == 13){
        // 触发搜索提交按钮
        signBtn.click();
    }
}
pwInner.onkeydown = function(){
    let e = window.event;
    var keycode =e.which||e.keyCode;
    if(keycode == 13){
        // 触发搜索提交按钮
        signBtn.click();
    }
}


// 注销后触发的事件
downSignBtn.onclick = function(){
  //用户信息清空
  window.userInfoG = false;
  alert("账户已注销");
//   用户信息界面消失，回到登陆界面
  userInfoBox.style.display = "none";
//   输入框清空
  lgNameInner.value = "";
  pwInner.value = "";
//   记住账户密码重置
  remName.checked = false;
  remPW.checked = false;
//   移除本地存储中的账户密码
  window.localStorage.removeItem("remName");
  window.localStorage.removeItem("remPW");
//   如果打开了个人空间或者个人相册，注销后自动关掉
  personDyWrapper.style.display = "none";
  personABwrapper.style.display = "none"
//   移除七天免登录的时间戳
  window.localStorage.removeItem("loginPeriod");

  queryDyAllBtn.click();
}